package com.yantong.service;


import com.yantong.pojo.MarketingGroup;
import com.yantong.pojo.MarketingGroupSku;
import com.yantong.pojo.vo.ApiMarketingGroupReqVo;
import com.yantong.pojo.vo.ApiMarketingGroupResVo;
import com.yantong.utils.PageUtils;


import java.util.List;

/**
 * 团购服务
 */
public interface MarketingGroupService {

    int saveMarketingGroup(MarketingGroup marketingGroup);

    int updateMarketingGroup(MarketingGroup marketingGroup);

    MarketingGroup getMarketingGroupById(Long id);

    /**
     * 后台查询所有拼图
     *
     * @param offset
     * @param limit
     * @param vo
     * @return
     */
    PageUtils<MarketingGroup> listAllGroup(int offset, int limit, MarketingGroup vo);

    /**
     * 前台查询所有团购
     *
     * @param offset
     * @param limit
     * @param vo
     * @return
     */
    PageUtils<ApiMarketingGroupResVo> listAllGroupForFront(int offset, int limit, ApiMarketingGroupReqVo vo);

    /**
     * 团购详情
     *
     * @param memberId
     * @param activityId
     * @param orderId
     * @return
     */
    ApiMarketingGroupResVo getMarketingGroupDetail(Long memberId, Long activityId, Long orderId);

    void removeGroup(Long id);

    MarketingGroupSku getMarketingGroupSkuByActivityId(Long activityId, Long skuId);

    List<MarketingGroupSku> listMarketingGroupSkuByProductId(Long productCentreId);

    int changeStock(Integer total, Long activityId);
    int changeSkuStock(Integer total, Long activityId, Long skuId);
    int changeSkuStockAlone(Integer total, Long activityId, Long skuId);

    MarketingGroupSku getSkuBySpecs(Long activityId, String specs);

    List<MarketingGroupSku> getSkuByActivityId(Long activityId);

    List<MarketingGroup> getMarketingGroupByProductId(Long productId);

    MarketingGroupSku getSkuBySkuId(Long activityId, Long centreSkuId);

}

